library(plotly)
library(misc3d)Laboratorio 4
Se describe el contenido del laboratorio. Es importante realizar el trabajo previo aunque este no tenga ponderación en la calificación.
Trabajo previo
📖 Revisar los problemas de las notas del Tema 2. Anotar dudas (si existen)
📖 Anotar las dudas (si existen) de las clases previas a este laboratorio.
Notas
📋 Tema 2
Las siguientes notas son una buena referencia para este laboratorio
Códigos
Ejemplo:
Sea \(\alpha>1\). En \((\mathbb{R},|\cdot|)\), definamos la sucesión \(\left\{x_n\right\}_{n \geq 1} \subseteq \mathbb{R}\) de la siguiente manera: \(x_1>\sqrt{\alpha}\) y
\[ x_{n+1}=\frac{x_n+\alpha}{x_n+1} \]
Visualización de rangos y gráficas de sucesiones
sucesion_rango <- function(x,y,z="",epsilon=0.05,limite = 0){
if(z[1]==""){
datos <- data.frame(x=x, y = y)
circulo <- function(limite,epsilon=0.2) {
list(
type = 'circle',
xref = 'x', x0 = limite[1]-epsilon, x1 = limite[1]+epsilon,
yref = 'y', y0 = limite[2]-epsilon, y1 = limite[2]+epsilon,
fillcolor = 'rgb(47,145,180)',
line = list(color = 'rgb(47,145,180)'),
opacity = 0.2
)
}
}
else
datos <- data.frame(x=x, y = y, z = z)
if(z[1]==""){
fig <- plot_ly(datos,
x = ~x,
y = ~y,
name = "s_n",
type = 'scatter',
mode = 'markers',
color = 'orange') %>%
layout(title = "Gráfica rango",
xaxis = list(title ="x"))
if((limite!=0)[1])
fig <- fig %>% layout(
shapes = list(circulo(limite,epsilon)),
xaxis = list(rangemode = "tozero"),
yaxis=list(scaleanchor="x",
scaleratio=1,
rangemode = "tozero")
)
}
else{
f <- function(x, y, z){
x^2 + y^2 + z^2}
R <- epsilon # radius
x <- y <- z <- seq(-R, R, length.out = 100)
g <- expand.grid(x = x, y = y, z = z)
voxel <- array(with(g, f(x, y, z)), dim = c(100, 100, 100))
cont <- computeContour3d(voxel, level = R^2, x = x, y = y, z = z)
idx <- matrix(0:(nrow(cont)-1), ncol=3, byrow=TRUE)
fig<- plot_ly(
x = cont[, 1]+limite[1], y = cont[, 2]+limite[2], z = cont[, 3]+limite[3],
i = idx[, 1], j = idx[, 2], k = idx[, 3],
type = "mesh3d",
opacity = 0.2)
fig <- fig %>% add_trace(data = datos,
x = ~x,
y = ~y,
z = ~z,
name = "s_n",
type = 'scatter3d',
opacity = 1,
color = "red",
mode = 'markers') %>%
layout(title = "Gráfica rango",
xaxis = list(title ="x"))
}
return(fig)
}Ejemplo:
Gráfica del rango de \[s(n)= \left(1-\frac{1}{n},\left(1+\frac{1}{n}\right)^n\right)\]
n <- 1:30
x <- 1-1/n
y <- (1 +1/n) ** n
sucesion_rango(x=x,y=y,epsilon= 0.3,limite=c(1,exp(1)))Ejemplo:
Gráfica del rango de \[s(n)= \left(1-\frac{1}{n},\left(1+\frac{1}{n}\right)^n,1-\frac{1}{n}\right)\]
n <- 1:30
x <- 1-1/n
y <- (1 +1/n) ** n
z <- 1-1/n
sucesion_rango(x=x,y=y,z=z,epsilon= 0.1,limite=c(1,exp(1),1))